using System;
using AntEater.ComponentModel.Validation;
using System.Collections.ObjectModel;

namespace AntEater.Runtime.Services.Validation
{
    /// <summary>
    /// Default implementation of the validation service.
    /// </summary>
    public class DefaultValidationService : RuntimeServiceBase, IValidationService
    {
        /// <summary>
        /// Validates the specified target.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <returns></returns>
        public ReadOnlyCollection<ValidationResult> Validate(IValidatable target) {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Validates the specified target.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="context">The context.</param>
        /// <returns></returns>
        public ReadOnlyCollection<ValidationResult> Validate(IValidatable target, IValidatable context) {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Validates the specified target.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="results">The results.</param>
        /// <returns></returns>
        public ReadOnlyCollection<ValidationResult> Validate(IValidatable target, ReadOnlyCollection<ValidationResult> results) {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Validates the specified target.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="context">The context.</param>
        /// <param name="results">The results.</param>
        /// <returns></returns>
        public ReadOnlyCollection<ValidationResult> Validate(IValidatable target, IValidatable context, ReadOnlyCollection<ValidationResult> results) {
            throw new NotImplementedException();
        }
    }
}
